// pages/user/authentication/personal/personal.js
const app = getApp();

let api = require('../../../../utils/api.js');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    selfImg: {
      id: 0,
      url: ''
    },
    frontImg: {
      id: 0,
      url: ''
    },
    reverseImg: {
      id: 0,
      url: ''
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    wx.getSystemInfo({
      success: function (res) {
        that.setData({
          winWidth: res.windowWidth,
          winHeight: res.windowHeight - app.globalData.navHeight
        });
      }
    });
  },
  // 输入监听
  inputWacth: function (e) {
    // console.log(e);
    let item = e.currentTarget.dataset.field;
    this.setData({
      [item]: e.detail.value
    });
  },
  /**
   * 选择图片
   */
  uploadImg: function (token, type) {

    var _this = this;

    var url = api.baseUrl;
    wx.chooseImage({
      count: 1, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success: function (res) {
        // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
        var tempFilePaths = res.tempFilePaths;
        //这里是上传操作
        wx.uploadFile({
          url: url + '/file/img/upload', //里面填写你的上传图片服务器API接口的路径 
          filePath: tempFilePaths[0], //要上传文件资源的路径 String类型 
          name: 'file', //按个人情况修改，文件对应的 key,开发者在服务器端通过这个 key 可以获取到文件二进制内容，(后台接口规定的关于图片的请求参数)
          header: {
            "Content-Type": "multipart/form-data", //记得设置
            // 和服务器约定的token, 一般也可以放在header中
            'token': token
          },

          success: function (res) {
            if (res.statusCode == 200) {
              var data = JSON.parse(res.data);
              var selfImg = {
                id: data.result.id,
                url: data.result.thumbUrl
              }
              _this.setData({
                [type]: selfImg
              });
            }
          }
        })
      }
    })
  },
  /**
   * 拍摄本人照片
   */
  chooseSelfImg: function (e) {
    var _this = this;
    var token = wx.getStorageSync('TOKEN');
    _this.uploadImg(token, 'selfImg')
  },
  /**
   * 上传身份证正面照
   */
  chooseFrontImg: function (e) {

    var _this = this;
    var token = wx.getStorageSync('TOKEN');
    _this.uploadImg(token, 'frontImg')
  },
  /**
   * 上传身份证反面照
   */
  chooseReverseImg: function (e) {

    var _this = this;
    var token = wx.getStorageSync('TOKEN');
    _this.uploadImg(token, 'reverseImg')
  },
  /**
   * 提交
   */
  sumbit: function (e) {

    var _this = this;
    var token = wx.getStorageSync('TOKEN');
    if (_this.data.name == '' || _this.data.idcard == '' || _this.data.name == undefined || _this.data.idcard == undefined || _this.data.frontImg.url == '' || _this.data.selfImg.url == '') {
      wx.showToast({
        title: '请填写完整信息',
        icon: 'none'
      })
      return;
    }

    if (_this.data.idcard.length != 18) {

      wx.showToast({
        title: '请填写完整身份证号码',
        icon: 'none'
      })
      return;
    }
    var search = "^(?:(?=.*[0-9].*)(?=.*[A-Za-z].*)(?=.*[\\W].*))[\\W0-9A-Za-z]{8,16}$";
    var reg = /^[\u4e00-\u9fa5]+$/; //只要包含中文
    if (!reg.test(_this.data.name)) {
      wx.showToast({
        title: '真实姓名，暂不支持字母、数字及符号，请重新输入',
        icon: 'none'
      })
      return;
    }
    var param = {
      "ownerName": _this.data.name,
      "idCard": _this.data.idcard,
      "frontImg": _this.data.frontImg.id,
      "selfImg": _this.data.selfImg.id,
      "reverseImg": _this.data.reverseImg.id
    }
    api._post('/owner/id/auth', param, token).then(res => {
      if (res.code == 200) {
        wx.navigateBack({
          delta: 1,
        })
      }
    })
  }
})